package main

import "fmt"

// 判断是否是3的幂
// 是否存在整数x    n==4^x
// 4^x =(3+1)^x = 1(mod3)
func isPowerOfFour(n int) bool {
	// n&(n-1) ==0  判断是2的幂
	return n > 0 && n&(n-1) == 0 && n%3 == 1
}

func main() {
	type pair struct {
		n   int
		ans bool
	}
	pairs := []pair{{16, true}, {5, false}, {1, true}}
	for _, p := range pairs {
		res := isPowerOfFour(p.n)
		if res == p.ans {
			fmt.Println(p, "pass")
		} else {
			fmt.Println(p, "fail")
		}
	}
}
